package com.regulareport.form.service;

import com.regulareport.common.core.domain.entity.ReportFormsEdit;
import com.regulareport.form.domain.ReportFormsEditVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 报版本管理Service接口
 * 
 * @author ruoyi
 * @date 2025-09-03
 */
public interface IReportFormsEditService 
{
    /**
     * 查询报版本管理
     * 
     * @param pkId 报版本管理主键
     * @return 报版本管理
     */
    public ReportFormsEditVO selectReportFormsEditByPkId(Long pkId) throws Exception;

    /**
     * 查询报版本管理列表
     * 
     * @param reportFormsEdit 报版本管理
     * @return 报版本管理集合
     */
    public List<ReportFormsEdit> selectReportFormsEditList(ReportFormsEdit reportFormsEdit);

    /**
     * 新增报版本管理
     * 
     * @param reportFormsEdit 报版本管理
     * @return 结果
     */
    public int insertReportFormsEdit(ReportFormsEdit reportFormsEdit);

    /**
     * 修改报版本管理
     * 
     * @param reportFormsEdit 报版本管理
     * @return 结果
     */
    public int updateReportFormsEdit(ReportFormsEdit reportFormsEdit);

    /**
     * 批量删除报版本管理
     * 
     * @param pkIds 需要删除的报版本管理主键集合
     * @return 结果
     */
    public int deleteReportFormsEditByPkIds(Long[] pkIds);

    /**
     * 删除报版本管理信息
     * 
     * @param pkId 报版本管理主键
     * @return 结果
     */
    public int deleteReportFormsEditByPkId(Long pkId);


    /**
     * 上传银监模板信息
     * @param file
     * @param reportFormsEdit
     * @return
     */
    public int uploadReportFormsEdit(MultipartFile file, MultipartFile fillFile, ReportFormsEdit reportFormsEdit) throws Exception;


    /**
     * 报表的状态修改
     *
     * @param reportFormsEdit 报版本管理
     * @return 结果
     */
    public int updateState(ReportFormsEdit reportFormsEdit);
}
